package com.project.mapper;

import com.project.bean.ProjectBean;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/***
 * 项目管理mapper接口
 */
@Mapper
public interface ProjectMapper {
    /***
     * 添加新项目
     * @param project 项目
     */
    @Insert("INSERT INTO t_project(p_name,p_clientName,p_projectMoney,p_startDate,p_endDate,p_days,p_statues)value(" +
            "#{name},#{clientName},#{projectMoney},#{startDate},#{turnDate},#{remainderDay},#{statues})")
    public void addProject(ProjectBean project);

    /***
     * 查询项目详细信息，同时查询参与该项目的员工以及参与和完成日期
     * @param id 项目id
     * @return 项目对象
     */
    public ProjectBean findProject(int id);

    /***
     * 按条件动态查询
     * @param name 项目名称
     * @param statues 状态
     * @param collations 排序规则
     * @return 项目集合
     */

    public List<ProjectBean> findByItem(@Param("name") String name,@Param("statues") String statues,@Param("collations") String collations);

    /**
     * 查找项目状态为开发中的项目信息，同时统计每个项目参与的人数
     * @param state 项目状态
     * @return 项目集合
     */

    List<ProjectBean> findByState(String state);
}
